#ifndef UC_BRBETRAV_H
#define UC_BRBETRAV_H 1

#include "zadesk.h"
#include "zrxobject.h"
#include "zrxboiler.h"
#include "ucbrgbl.h"
#include "ucbrtrav.h"


// forward class declarations
class UcBrBrep;
class UcBrEdge;


class DllImpExp UcBrBrepEdgeTraverser : public UcBrTraverser
{
public:
    UCRX_DECLARE_MEMBERS(UcBrBrepEdgeTraverser);
    UcBrBrepEdgeTraverser();
    UcBrBrepEdgeTraverser(const UcBrBrepEdgeTraverser& src);
    ~UcBrBrepEdgeTraverser();

    // Assignment operator
    UcBrBrepEdgeTraverser& operator =   (const UcBrBrepEdgeTraverser& src);

    // Queries & Initialisers
    UcBr::ErrorStatus   setBrepAndEdge  (const UcBrEdge& edge);
    UcBr::ErrorStatus   setBrep         (const UcBrBrep& brep);
    UcBr::ErrorStatus   getBrep         (UcBrBrep& brep) const;
    UcBr::ErrorStatus   setEdge         (const UcBrEdge& edge);
    UcBr::ErrorStatus   getEdge         (UcBrEdge& edge) const;
};


#endif

